package com.zsj.juc.reference;

import java.util.concurrent.TimeUnit;

/**
 * @author zsj
 * @version 1.0
 * @date 2024/5/19 16:51
 * @description 强引用
 */
public class StrongReferenceDemo {

    /**
     * 强引用的意思 除非你撤销了对对象的引用，否则对象不会被回收
     * 这也就可能会造成内存泄露,也即内存溢出问题
     */
    public static void main(String[] args) {
        TestObject testObject = new TestObject();
        //强引用
        System.out.println("gc 之前" + testObject);
        testObject = null;

        System.gc();

        //保证打印在gc之后执行
        try {
            TimeUnit.MILLISECONDS.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("gc 之后" + testObject);

    }
}
